//
//  TrialsSet.h
//  GPUProcessingTesting
//
//  Created by kadlubek47 on 10.07.2013.
//  Copyright (c) 2013 kadlubek47. All rights reserved.
//

#ifndef __GPUProcessingTesting__TrialsSet__
#define __GPUProcessingTesting__TrialsSet__

#include <iostream>

template <class T>
class TrialsSet {
public:
    TrialsSet(T* trials, unsigned int trialsNumber, std::string description) {
        trials_ = new T[trialsNumber];

        trialsNumber_ = trialsNumber;
        description_ = description;
        
        //copy memory
        memcpy( trials_, trials, sizeof(T) * trialsNumber );
    }
    
    TrialsSet(const TrialsSet& t) {
        trials_ = new T[t.trialsNumber_];
        
        trialsNumber_ = t.trialsNumber_;
        description_ = t.description_;
        
        //copy memory
        memcpy( trials_, t.trials_, sizeof(T) * trialsNumber_ );
    }
    
    ~TrialsSet() {
        delete [] trials_;
    }
    
    T* trials_;
    unsigned int trialsNumber_;
    std::string description_;
};

#endif /* defined(__GPUProcessingTesting__TrialsSet__) */
